In Operators§
See primary documentation in context for circumfix [ ]
The Array constructor returns an itemized Array
that does not flatten in list context. Check this:
say .raku for [3,2,[1,0]]; # OUTPUT: «32$[1, 0]»
This array is itemized, in the sense that every element constitutes an item, as shown by the $
preceding the last element of the array, the (list) item contextualizer.
In Operators§
See primary documentation in context for postcircumfix [ ]
sub postcircumfix:<[ ]>(@container, **@index, :$k, :$v, :$kv, :$p, :$exists, :$delete)
Universal interface for positional access to zero or more elements of @container, a.k.a. "array indexing operator".
my @alphabet = 'a' .. 'z'; say @alphabet[0]; # OUTPUT: «a» say @alphabet[1]; # OUTPUT: «b» say @alphabet[*-1]; # OUTPUT: «z» say @alphabet[100]:exists; # OUTPUT: «False» say @alphabet[17, 0, 10, 20].join; # OUTPUT: «raku» say @alphabet[23 .. *].raku; # OUTPUT: «("x", "y", "z")» @alphabet[1, 2] = "B", "C"; say @alphabet[0..3].raku; # OUTPUT: «("a", "B", "C", "d")»
See Subscripts, for a more detailed explanation of this operator's behavior and for how to implement support for it in custom types.